SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[paObtenerServiciosActivosDeSuplentesComunesBK04112008]
-- <ACTUALIZACIONES> 08-09-2006 por SANES, Jorge. (Se agrego Filtro por CUISE)
-- <ACTUALIZACIONES> 03-11-2006 por OTERO, Marcelo y SANES, Jorge. (Se agrego Consulta por Mes y Anio)
-- <ACTUALIZACIONES> 04-12-2006 por OTERO, Marcelo y SANES, Jorge. (Se agrego relación con Tb_RelOrganizacionUsuario - para que no procesen lo que no corresponde)

@Anio INT,
@Mes INT,
@Cuise INT = NULL

AS
SET NOCOUNT ON
DECLARE @IdUsuario INT 

SET @IdUsuario = dbo.sp_usuario(SYSTEM_USER)

IF @Cuise IS NULL
	BEGIN
		SELECT ApellidosyNombres, Fechaalta, IdSubServicio, Cupof FROM VwServiciosAgentesSF S
			WHERE S.IdSituacionRevista = 4
			AND ((Month(S.FechaAlta) < @Mes AND Year(S.FechaAlta) = @Anio) OR ( Year(S.FechaAlta) <> @Anio))
			AND S.FechaBaja IS NULL
			AND EXISTS (SELECT top 1 Org.CUISE FROM TB_RelUsuarioOrganizacion RUO INNER JOIN Tb_Organizaciones Org ON Org.IdOrganizaciones = RUO.IdOrganizacion WHERE RUO.IdUsuario=@IdUsuario AND ORG.CUISE=S.CUISE)
			AND NOT Exists
				(SELECT top 1  C.IdCola From VwColademovimientos C Inner Join VwPlazasdeMovimiento P On C.IdCola = P.IdCola
					Inner Join VwSubserviciosAgentesSF SS On SS.ServicioAgente = S.IdServicioAgente and SS.IdPlaza= P.IdPlaza
					WHERE C.Movimiento = 10 AND Month(C.Fecha1) >= @Mes AND Year(C.Fecha1) >= @Anio)
			ORDER BY CUPOF
	END
ELSE
	BEGIN 
		SELECT ApellidosyNombres, Fechaalta, IdSubServicio, Cupof FROM VwServiciosAgentesSF S
			WHERE S.IdSituacionRevista = 4
			AND ((Month(S.FechaAlta) < @Mes AND Year(S.FechaAlta) = @Anio) OR ( Year(S.FechaAlta) <> @Anio))
			AND S.FechaBaja IS NULL
			AND (S.Cuise = @Cuise AND EXISTS (SELECT top 1 Org.CUISE FROM TB_RelUsuarioOrganizacion RUO INNER JOIN Tb_Organizaciones Org ON Org.IdOrganizaciones = RUO.IdOrganizacion WHERE RUO.IdUsuario=@IdUsuario AND ORG.CUISE=S.CUISE))
			AND NOT Exists
				(SELECT top 1  C.IdCola From VwColademovimientos C Inner Join VwPlazasdeMovimiento P On C.IdCola = P.IdCola
					Inner Join VwSubserviciosAgentesSF SS On SS.ServicioAgente = S.IdServicioAgente and SS.IdPlaza= P.IdPlaza
					WHERE C.Movimiento = 10 AND Month(C.Fecha1) >= @Mes AND Year(C.Fecha1) >= @Anio)
			ORDER BY CUPOF 
	END
GO
